package nl.rainbowsheep.reisorg.cust.site.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
public class TripBooking implements Serializable {

    private long id;
    private long customerId;
    private TravelGroup travelGroup;
    private Long travelDocumentTypeId;
    private long tripId;
    private boolean hasTravelDocument;
    private Date startDate;
    private Date endDate;
    private Date registrationDate;
    private int totalPersons;
    private int status;
    private BigDecimal price;
    private List<AccommodationHousingBooking> housingBookings;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public long getTripId() {
        return tripId;
    }

    public void setTripId(long tripId) {
        this.tripId = tripId;
    }

    public long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(long customerId) {
        this.customerId = customerId;
    }

    public TravelGroup getTravelGroup() {
        return travelGroup;
    }

    public void setTravelGroup(TravelGroup travelGroup) {
        this.travelGroup = travelGroup;
    }

    public Long getTravelDocumentTypeId() {
        return travelDocumentTypeId;
    }

    public void setTravelDocumentTypeId(Long travelDocumentTypeId) {
        this.travelDocumentTypeId = travelDocumentTypeId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public boolean isHasTravelDocument() {
        return hasTravelDocument;
    }

    public void setHasTravelDocument(boolean hasTravelDocument) {
        this.hasTravelDocument = hasTravelDocument;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getRegistrationDate() {
        return registrationDate;
    }

    public void setRegistrationDate(Date registrationDate) {
        this.registrationDate = registrationDate;
    }

    public int getTotalPersons() {
        return totalPersons;
    }

    public void setTotalPersons(int totalPersons) {
        this.totalPersons = totalPersons;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public BigDecimal getPricePerPerson() {
        return price;
    }

    public void setPricePerPerson(BigDecimal pricePerPerson) {
        this.price = pricePerPerson;
    }

    @JsonIgnore
    public List<AccommodationHousingBooking> getHousingBookings() {
        return housingBookings;
    }

    public void setHousingBookings(List<AccommodationHousingBooking> housingBookings) {
        this.housingBookings = housingBookings;
    }
}
